package com.example.springcloud.mapper;

import java.util.List;
import com.example.springcloud.domain.Images;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 通用图片存储Mapper接口
 * 
 * @author hx
 * @date 2025-02-14
 */
public interface ImagesMapper 
{
    /**
     * 查询通用图片存储
     * 
     * @param imageId 通用图片存储主键
     * @return 通用图片存储
     */
    public Images selectImagesByImageId(Long imageId);

    /**
     * 查询通用图片存储列表
     * 
     * @param images 通用图片存储
     * @return 通用图片存储集合
     */
    public List<Images> selectImagesList(Images images);

    /**
     * 新增通用图片存储
     * 
     * @param images 通用图片存储
     * @return 结果
     */
    public int insertImages(Images images);

    /**
     * 修改通用图片存储
     * 
     * @param images 通用图片存储
     * @return 结果
     */
    public int updateImages(Images images);

    /**
     * 删除通用图片存储
     * 
     * @param imageId 通用图片存储主键
     * @return 结果
     */
    public int deleteImagesByImageId(Long imageId);

    /**
     * 批量删除通用图片存储
     * 
     * @param imageIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteImagesByImageIds(Long[] imageIds);

    @Select("SELECT image_url FROM images WHERE entity_id = #{postId} AND entity_type = 2 ")
    List<String> selectImagesByPostId(@Param("postId") Long postId);
}
